package com.zhouyihe.weblog.common.utils;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;

/**
 * @author 周益和
 * @ClassName JsonUtil
 * @qq 1552951165
 */
@Slf4j
public class JsonUtil {
    private static final ObjectMapper INSTANCE = new ObjectMapper();
    
    /**
     * 将对象转换为JSON字符串。
     *
     * @param obj 需要转换为JSON字符串的对象。
     * @return 如果转换成功，则返回对应的JSON字符串；如果转换失败，则返回对象的toString()结果。
     */
    public static String toJsonString(Object obj) {
        try {
            // 尝试使用Jackson实例将对象转换为JSON字符串
            return INSTANCE.writeValueAsString(obj);
        } catch (JsonProcessingException e) {
            // 转换失败时，返回对象的toString()结果
            return obj.toString();
        }
    }
}
